
package com.spss.data.service.schema.jaxb;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for anonymous complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="evURI" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="avURI" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="dpdXML" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="tableName" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="resultColumnNames" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
 *         &lt;element name="contextTables" type="{http://xml.spss.com/data}tableType" maxOccurs="unbounded" minOccurs="0"/>
 *         &lt;element name="keyValues" type="{http://xml.spss.com/data}tableType"/>
 *         &lt;element name="sample" type="{http://xml.spss.com/data}sampleType"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "evURI",
    "avURI",
    "dpdXML",
    "tableName",
    "resultColumnNames",
    "contextTables",
    "keyValues",
    "sample"
})
@XmlRootElement(name = "sampleDetails")
public class SampleDetails {

    @XmlElement(required = true)
    protected String evURI;
    @XmlElement(required = true)
    protected String avURI;
    @XmlElement(required = true)
    protected String dpdXML;
    @XmlElement(required = true)
    protected String tableName;
    protected List<String> resultColumnNames;
    protected List<TableType> contextTables;
    @XmlElement(required = true)
    protected TableType keyValues;
    @XmlElement(required = true)
    protected SampleType sample;

    /**
     * Gets the value of the evURI property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getEvURI() {
        return evURI;
    }

    /**
     * Sets the value of the evURI property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEvURI(String value) {
        this.evURI = value;
    }

    /**
     * Gets the value of the avURI property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAvURI() {
        return avURI;
    }

    /**
     * Sets the value of the avURI property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAvURI(String value) {
        this.avURI = value;
    }

    /**
     * Gets the value of the dpdXML property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDpdXML() {
        return dpdXML;
    }

    /**
     * Sets the value of the dpdXML property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDpdXML(String value) {
        this.dpdXML = value;
    }

    /**
     * Gets the value of the tableName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTableName() {
        return tableName;
    }

    /**
     * Sets the value of the tableName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTableName(String value) {
        this.tableName = value;
    }

    /**
     * Gets the value of the resultColumnNames property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the resultColumnNames property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getResultColumnNames().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link String }
     * 
     * 
     */
    public List<String> getResultColumnNames() {
        if (resultColumnNames == null) {
            resultColumnNames = new ArrayList<String>();
        }
        return this.resultColumnNames;
    }

    /**
     * Gets the value of the contextTables property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the contextTables property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getContextTables().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link TableType }
     * 
     * 
     */
    public List<TableType> getContextTables() {
        if (contextTables == null) {
            contextTables = new ArrayList<TableType>();
        }
        return this.contextTables;
    }

    /**
     * Gets the value of the keyValues property.
     * 
     * @return
     *     possible object is
     *     {@link TableType }
     *     
     */
    public TableType getKeyValues() {
        return keyValues;
    }

    /**
     * Sets the value of the keyValues property.
     * 
     * @param value
     *     allowed object is
     *     {@link TableType }
     *     
     */
    public void setKeyValues(TableType value) {
        this.keyValues = value;
    }

    /**
     * Gets the value of the sample property.
     * 
     * @return
     *     possible object is
     *     {@link SampleType }
     *     
     */
    public SampleType getSample() {
        return sample;
    }

    /**
     * Sets the value of the sample property.
     * 
     * @param value
     *     allowed object is
     *     {@link SampleType }
     *     
     */
    public void setSample(SampleType value) {
        this.sample = value;
    }

}
